package com.coolwalker.common.chain;

import com.coolwalker.common.domain.BizContext;

/**
 *
 *
 * @param <T> 业务上下文对象
 */
public interface BizHandler<T extends BizContext> {

    /**
     * 是否处理上下文
     *
     * @param context 上下文
     * @return true-处理；false-不处理
     */
    boolean isHandler(T context);

    /**
     * 处理业务的上下文
     * @param context 上下文
     */
    void doHandler(T context);

    /**
     * 处理异常
     *
     * @param context 上下文
     * @param e 异常
     */
    void handlerException(T context, Exception e);

}
